Two common effects for improving the perceived quality of stereo audio are stereo enhancement and frequency-response equalisation.
Spatial or stereo enhancement effects work by cancelling crosstalk components that occur due to acoustic mixing of left and right signals between the loudspeaker and the ear. The result is to give an impression of increased stereo separation between channels. FIG. 1 shows how the listener's left ear (Le) receives signals intended for the right ear via path B, i.e. Le=A.Lo+B.Ro where Lo and Ro are the output signals from the left and right speakers and A and B are the acoustic transfer functions for paths A and B, and similarly, the right ear receives signals intended for the left ear.
Two circuits are commonly used for cancelling these crosstalk components. FIG. 2a shows the classical crosstalk canceller. This comprises two stereo enhancement filters C for filtering the left and right channels, and two adders AL and AR. Li and Ri are audio signals received from left and right signal sources. Adder AL subtracts the right channel input Ri, after filtering, from the left channel input Li to give a left channel output Lo. Adder AR provides a corresponding function to provide the right channel output Ro. It can be shown that if the filter C has the transfer function B/A, the crosstalk components cancel perfectly.
                              Lo          =                    ⁢                      Li            -                          C              ·              Ri                                      ,                              and            ⁢                                                  ⁢            Ro                    =                      Ri            -                          C              ·              Li                                                              Le        =                ⁢                              A            ·                          (                              Li                -                                  C                  ·                  Ri                                            )                                +                      B            ·                          (                              Ri                -                                  C                  ·                  Li                                            )                                                              =                ⁢                              A            ·            Li                    -                      B            ·            Ri                    +                      B            ·            Ri                    -                      Li            ·                                          B                2                            /              A                                                              =                ⁢                  A          ·          Li          ·                      (                          1              -                                                B                  2                                /                                  A                  2                                                      )                              
In general, filter C is designed with a simple low-pass function to mimic the diffraction effect of the listener's head in path B, based on the assumption that path A has little filtering effect. Filter C may also be designed as a bandpass function to prevent cancellation of bass signals which are recorded equally in left and right channels.
A second known circuit is shown in FIG. 2b. Here the difference between the left input Li and right input Ri channels is filtered (C′) and scaled (K). This processed signal is then added (AL) to the left input signal Li to produce the left output signal Lo, and is subtracted (AR) from the right input signal Ri to produce the right output signal Ro. This modification results in similar crosstalk cancellation properties, with complete cancellation when C′=B/(A−B), giving Le=A.Li.(1+(B/A)). However it only requires a single filter, thus making implementation simpler and cheaper. The circuit also has a “3D-gain” controller which is implemented by a scaling unit having variable gain K, which allows the extent of the stereo enhancement or acoustic crosstalk cancellation effect to be adjusted.
Although stereo enhancement filters (C or C′) are usually designed with a bandpass or lowpass function, the effect can be crude and produces an unnatural sounding stereo image. This is due to the gross approximation that the transfer function B/A is lowpass. More interesting or subtle effects can be produced by using a more flexible filter function. For example, it is useful to be able to modify these filters to compensate for differences in loudspeaker placement and the shape of the listener's head, so as to more closely match the response of function B/A. In practice this will be enabled by user controlled inputs to control the filter characteristics and/or the extent of the stereo enhancement effect (K).
Another common effect is Frequency Response Equalisation, which is used to modify the frequency characteristics of an audio signal to either compensate for the frequency response of the listening environment, or to adjust the sound to suit the listener's preference. Typically a graphic equaliser function is used provide boost or cut over a number of different audio frequency bands.
When implementing both a spatial enhancement effect and equalisation effects, three filters are required, one (CLR and CER) for each channel in the equaliser, and one in the spatial enhancer (C′). Typically these functional blocks are simply cascaded together, as illustrated by the additional filters CEL and CER shown in dashed outline in FIG. 3. Normally CEL and CER will be the same transfer function CE, say.
In applications where implementation cost needs to be kept to an absolute minimum, the hardware cost of implementing these filters can be prohibitive. For portable battery-powered equipment (generally driving headphones, but similar features are still desirable), power consumption is also an important consideration. If the filters are implemented on an ALU (Arithmetic Logic Unit) core, the number of multiply cycles are at a premium, and so it is advantageous to minimise the number (or complexity) of the filters in order to avoid increasing the clock frequency of the ALU. Higher clock frequencies demand higher power consumption, and possibly a larger chip area, or at worst having to add an extra ALU to the system.
It is thus desirable to be able to provide both spatial enhancement and frequency response equalisation, but with reduced hardware cost and power consumption.